package com.woniu.account.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.woniu.account.dto.*;
import com.woniu.account.form.*;
import com.woniu.account.model.TUserInfo;
import com.woniu.core.util.PageInfo;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author 吴彦祖
 * @since 2024年04月02日
 */
public interface TUserInfoService extends IService<TUserInfo> {

    GetUserInfoByIdDTO getUserInfoById(Integer id) throws Exception;

    TUserInfo userRegister(RegisterUserInfoForm form) throws Exception;

    UserLoginDTO userLogin(LoginUserInfoForm form) throws Exception;

    void sendLoginCode(String phone) throws Exception;

    UserLoginDTO coachCodeLogin(CoachCodeLoginForm form) throws Exception;

    void userChangePassword(ChangePasswordForm form) throws Exception;

    UserInfoChangeDto perfectInformation(updateUserInformationForm form) throws Exception;

    String userRealNameAuthentication(RealNameAuthenticationForm form) throws Exception;

    PageInfo<MyFollowCoachDto> myFans(Integer pageNum, Integer pageSize, Integer userId) throws Exception;

    String uploadImage(UpdateImageForm form) throws Exception;

    void sendRegisterCode(String phone) throws Exception;
}
